import Vue from 'vue'
import Vuex from 'vuex'
// 导入提取的 getters 文件
import getters from './getters'

// 导入拆分的模块
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'

// 将 Vuex 挂载为 Vue 的插件
Vue.use(Vuex)

// 对 Vuex 进行实例化
const store = new Vuex.Store({
  // 挂载拆分的模块
  modules: {
    app,
    settings,
    user
  },
  // 类似于 Vue 的 computed
  // this.$store.state.user.userInfo.name
  // this.$store.getters.xxx
  // 将 Getter 抽取一个模块，就是方便进行数据的获取
  getters
})

export default store
